<?php

namespace Sdk\lib;

class Format {

	/**
	 * 应用id格式
	 * @param $str
	 * @return bool|false
	 */
	public static function checkAppId($str) {
		return preg_match('/^[A-Z][a-z]+(_[a-z]+[a-z0-9]*)?$/', $str);
	}

	/**
	 * 应用前缀格式
	 * @param $str
	 * @return false|int
	 */
	public static function checkPrefix($str) {
		return preg_match('/^[A-Z][a-z]+$/', $str);
	}

	/**
	 * 应用分支id格式
	 * @param $str
	 * @return false|int
	 */
	public static function checkBranchId($str) {
		return preg_match('/^\w+$/', $str);
	}

	/**
	 * Controller格式(xxxController)
	 * @param $str
	 * @return false|int
	 */
	public static function checkController($str) {
		return preg_match('/^\w+$/', $str);
	}

	/**
	 * Action格式(xxxAction)
	 * @param $str
	 * @return false|int
	 */
	public static function checkAction($str) {
		return preg_match('/^\w+$/', $str);
	}

	/**
	 * 拆分 name
	 * @param $name
	 * @return array
	 */
	public static function splitName($name) {
		$e = explode('_', $name);
		list($plugin, $identifier, $controller, $action) = $e;
		if (!file_exists(ROOT_PATH . '/www/' . $plugin . '/' . $identifier)) {
			@list($prefix, $plugin, $identifier, $controller, $action) = $e;
			$plugin = $prefix . '_' . $plugin;
		}

		return [$plugin, $identifier, $controller, $action];
	}

}